<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8" />
    <title>事件的基本使用</title>
    <script type="text/javascript" src="./../vue.js/vue.js"></script>
  </head>

  <body>
    <div id="root">
      <h2>欢迎来到{{name}}学习</h2>
      <button v-on:click="showInfo">点我提示信息</button>

      <!-- 简写 -->
      <button @click="showInfo1">点我提示信息1</button>
      <button @click="showInfo2($event, 66)">点我提示信息2</button>
    </div>

    <script type="text/javascript">
      Vue.config.productionTip = false;

      const vm = new Vue({
        el: "#root",
        data: {
          name: "尚硅谷",
        },
        methods: {
          showInfo(a, b, c) {
            console.log(a, "-", b, "-", c);
          },
          showInfo1(event) {
            console.log(event.target.innerText);
            console.log(this); // 此处的 this 是 vm
            alert("同学你好!");
          },
          showInfo2(event, number) {
            console.log(event);
            console.log(number);
            alert("同学你好!!");
          },
        },
      });
    </script>
  </body>
</html>
<!-- 
	事件的基本使用
		1. 使用 v-on:xxx 或者 @xxx 绑定事件, 其中 xxx是事件名
		2. 事件的回调需要配置在 methods对象中, 最终会在 vm 上;
		3. methods 中配置的函数, 不要使用箭头函数! 否则 this 就不是 vm了
		4. methods 中配置的函数, 都是被 Vue 所管理的函数, this的指向是 vm 或 组件实例对象;
		5. @click="demo" 和 @click="demo($event)" 效果一致, 但是后者可以传递参数
-->
